public class Teacher {
  // 成员属性
  // 姓名 name
  private String name;
  // 年龄 age
  private int age;
  // 科目 subject
  private String subject;

  // get/set方法
  public void setName(String name) {
    this.name = name;
  }

  public void setAge(int age) {
    this.age = age;
  }

  // 构造方法 无参构造器 是系统默认提供的构造方法 写不写系统都会提供 一旦写了系统就不会提供 如果我们要提供其他构造器 必须自己写无参构造器
  public Teacher() {
    System.out.println("无参构造器");
  }

  // 单参构造器
  public Teacher(String name) {
    System.out.println("单参构造器");
    this.name = name;
  }

  // 全参构造器
  public Teacher(String name, int age, String subject) {
    // 构造器方法的调用只能是构造方法中的第一行有效代码
    this(name);
    // this.name = name;
    System.out.println("全参构造器");
    this.age = age;
    this.subject = subject;
  }

  public void setSubject(String subject) {
    this.subject = subject;
  }

  // 成员方法
  // 教学方法 teach
  public void teach() {
    System.out.println("教学");
  }

  // 输出教师属性的功能
  public void show() {
    System.out.println("姓名：" + name + "，年龄：" + age + "，科目：" + subject);
  }

}